from celery import Celery
import os

# 0.为celery设置django的配置文件,以备celery使用
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "meiduo_mall_chen.settings")

# 1. 创建celery实例对象
# main 参数的含义: 给celery设置一个名字 ,名字不重名就行
#  一般习惯使用 工程的名/任务的名字
app = Celery('celery_tasks')

# 2. 让celery 加载broker
app.config_from_object('celery_tasks.config')

# 3. 任务
#  ① 为了解耦我们把任务放到其他包中,其他包中的文件名必须是 tasks
#   ② 所谓的任务其实就是普通的函数
#   ③ 这个函数 必须要被celery的实例对象的task装饰器装饰
#  ④ 这个任务要被celery自动检测到,celery就是自动检测 tasks文件
# [ 元素 ]
# 元素: 任务包的路径
app.autodiscover_tasks(['celery_tasks.sms', 'celery_tasks.email'])


# 4 让woker 执行
# 语法:celery -A proj worker -l info
# celery -A celery的实例对象的文件 worker -l info

# celery -A celery_tasks.main worker -l info
